home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / SOURCES / ATARI_SRC.ZIP / atari source / HDX_BACK / MVICON / AICON0.S < prev    next >
Encoding:
Text File  |  2001-02-09  |  3.7 KB  |  163 lines

  1.  
  2. COLBIT0    equ    $018
  3. COLBIT1    equ    $01A
  4. COLBIT2    equ    $01C
  5. COLBIT3    equ    $01E
  6. LSTLIN    equ    $020
  7. LNMASK    equ    $022
  8. WMODE    equ    $024
  9. X1        equ    $026
  10. Y1        equ    $028
  11. X2        equ    $02A
  12. Y2         equ    $02C
  13. PATPTR     equ    $02E
  14. PATMSK    equ    $032
  15. MFILL    equ    $034
  16.  
  17. ;------------------------------------------
  18. ;
  19. ; _drawicon(X,Y)
  20. ; WORD    X1         4(sp)
  21. ; WORD    Y1         6(sp)
  22. ; draw a icon in the point of (X,Y)
  23.  
  24.  
  25.         .globl    _drawicon
  26.  
  27. _drawicon:
  28.  
  29.     move.w     4(sp), d3
  30.     move.w     6(sp), d4
  31.     move.w     d4, d5
  32.     move.w    d3,    d6
  33.     addi.w     #40, d5 
  34.     addi.w     #20, d6 
  35.     jsr        _vhline
  36.     move.w     d4, d5
  37.     move.w    d3,    d6
  38.     subi.w    #20, d3
  39.     addi.w     #40, d4 
  40.     addi.w     #50, d5 
  41.     jsr        _vhline
  42.     move.w     4(sp), d3
  43.     move.w     6(sp), d4
  44.     move.w     d4, d5
  45.     move.w    d3,    d6
  46.     addi.w     #40, d3 
  47.     addi.w     #50, d4 
  48.     addi.w     #40, d5 
  49.     subi.w     #20, d6 
  50.     jsr        _vhlineb
  51.     move.w     4(sp), d3
  52.     move.w     6(sp), d4
  53.     move.w     d4, d5
  54.     move.w    d3,    d6
  55.     addi.w     #20, d3 
  56.     addi.w     #40, d4 
  57.     addi.w     #40, d6 
  58.     jsr        _vhliner
  59.     rts
  60.  
  61. ;------------------------------------------
  62. ;
  63. ; _vhline(X1,Y1,X2,Y2, X3)
  64. ; WORD    X1         d3
  65. ; WORD    Y1        d4         
  66. ; WORD    X2        d3     
  67. ; WORD    Y2        d5 
  68. ; WORD    X3        d6
  69. ;
  70. ; draw a solid vertical line form (X1,Y1) to (X2,Y2)
  71. ; draw a solid horizontal line form (X1,Y1) to (X3,Y1)
  72.  
  73.  
  74.         .globl    _vhline
  75.  
  76. _vhline:
  77.  
  78.         dc.w    $A000                ; Make the line A init call
  79.         move.w    #1, COLBIT0(a0)        ; set COLBIT variables
  80.         move.w    #1, COLBIT1(a0)
  81.         move.w    #1, COLBIT2(a0)
  82.         move.w    #1, COLBIT3(a0)
  83.         move.w    #0, LSTLIN(a0)        ; draw last pixel of line
  84.         move.w    #$FFFF, LNMASK(a0)    ; line style mask
  85.         move.w    #2, WMODE(a0)        ; writing mode (replace)
  86.         move.w     d3, X1(a0)            ; (x1,y1) and (x2, y2) into
  87.         move.w     d4, Y1(a0)            ; appropriate variables
  88.         move.w     d3, X2(a0)
  89.         move.w     d5, Y2(a0)
  90.         dc.w    $A003                ; Arbitrary Line
  91.  
  92.  
  93.         dc.w    $A000                ; Make the line A init call
  94.         move.w     d6, X2(a0)
  95.         move.l    #pat, PATPTR(a0)    ; pattern pointer
  96.         move.w     #0,PATMSK(a0)        ; Pattern length n-1=0
  97.         move.w     #0,MFILL(a0)        ; Multiple Plane fill off
  98.         dc.w    $A004                ; Arbitrary Line
  99.         rts
  100.  
  101.         .globl    _vhliner
  102.  
  103. _vhliner:
  104.  
  105.         dc.w    $A000                ; Make the line A init call
  106.         move.w    #1, COLBIT0(a0)        ; set COLBIT variables
  107.         move.w    #1, COLBIT1(a0)
  108.         move.w    #1, COLBIT2(a0)
  109.         move.w    #1, COLBIT3(a0)
  110.         move.w    #0, LSTLIN(a0)        ; draw last pixel of line
  111.         move.w    #$FFFF, LNMASK(a0)    ; line style mask
  112.         move.w    #2, WMODE(a0)        ; writing mode (replace)
  113.         move.w     d3, X1(a0)            ; (x1,y1) and (x2, y2) into
  114.         move.w     d5, Y1(a0)            ; appropriate variables
  115.         move.w     d3, X2(a0)
  116.         move.w     d4, Y2(a0)
  117.         dc.w    $A003                ; Arbitrary Line
  118.  
  119.  
  120.         dc.w    $A000                ; Make the line A init call
  121.         move.w     d4, Y1(a0)            ; appropriate variables
  122.         move.w     d6, X2(a0)
  123.         move.l    #pat, PATPTR(a0)    ; pattern pointer
  124.         move.w     #0,PATMSK(a0)        ; Pattern length n-1=0
  125.         move.w     #0,MFILL(a0)        ; Multiple Plane fill off
  126.         dc.w    $A004                ; Arbitrary Line
  127.         rts
  128.  
  129.         .globl    _vhlineb
  130.  
  131. _vhlineb:
  132.  
  133.         dc.w    $A000                ; Make the line A init call
  134.         move.w    #1, COLBIT0(a0)        ; set COLBIT variables
  135.         move.w    #1, COLBIT1(a0)
  136.         move.w    #1, COLBIT2(a0)
  137.         move.w    #1, COLBIT3(a0)
  138.         move.w    #0, LSTLIN(a0)        ; draw last pixel of line
  139.         move.w    #$FFFF, LNMASK(a0)    ; line style mask
  140.         move.w    #2, WMODE(a0)        ; writing mode (replace)
  141.         move.w     d3, X1(a0)            ; (x1,y1) and (x2, y2) into
  142.         move.w     d5, Y1(a0)            ; appropriate variables
  143.         move.w     d3, X2(a0)
  144.         move.w     d4, Y2(a0)
  145.         dc.w    $A003                ; Arbitrary Line
  146.  
  147.  
  148.         dc.w    $A000                ; Make the line A init call
  149.         move.w     d6, X1(a0)            ; appropriate variables
  150.         move.w     d4, Y1(a0)            ; appropriate variables
  151.         move.w     d3, X2(a0)
  152.         move.l    #pat, PATPTR(a0)    ; pattern pointer
  153.         move.w     #0,PATMSK(a0)        ; Pattern length n-1=0
  154.         move.w     #0,MFILL(a0)        ; Multiple Plane fill off
  155.         dc.w    $A004                ; Arbitrary Line
  156.         rts
  157.  
  158. .data
  159. pat:     dc.w    $FFFF                ; Pattern for line.
  160.  
  161.  
  162.  
  163.